package com.tarena.lbs.content.service;

import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.content.pojo.param.ArticleActionParam;
import com.tarena.lbs.content.pojo.param.ArticleContentParam;
import com.tarena.lbs.content.pojo.query.ArticleQuery;
import com.tarena.lbs.content.pojo.vo.ArticleActionPageResultVO;
import com.tarena.lbs.content.pojo.vo.ArticleVO;

import java.util.Set;

public interface ArticleService {


    void addArticle(ArticleContentParam param) throws BusinessException;

    ArticleVO detail(String id) throws BusinessException;

    PageResult<ArticleVO> pageList(ArticleQuery articleQuery);

    void articleBehavior(ArticleActionParam param) throws BusinessException;

    ArticleActionPageResultVO getBehaviorLists(ArticleQuery query) throws BusinessException;

    Set<String> articleLabels(ArticleQuery articleQuery);

    ArticleVO updateArticle(ArticleContentParam param) throws BusinessException;

    void deleteArticle(String id);
}
